﻿
namespace Jim.K3Cloud;

public interface K3CloudId { }
public interface K3CloudId<T>: K3CloudId
{
    public T Id { get; set; }
}


public abstract class K3CloudIDBase<T> : K3CloudId<T>
{
    /// <summary>
    /// 主键Id
    /// </summary>
    [Required]
    public virtual T Id { get; set; }
}

public abstract class K3CloudBaseData<T> : K3CloudId<T>
{
    public virtual T Id { get; set; }
    public virtual T MsterID { get; set; }
    [JsonConverter(typeof(LocaleValueConverter))]
    public virtual string Name { get; set; }
}

public abstract class K3CloudBaseDataDetail<T> : K3CloudId<T>
{
    public virtual T Id { get; set; }
}


public abstract class K3CloudBill<T> : K3CloudId<T>
{
    public virtual T Id { get; set; }
    public virtual string BillNo { get; set; }
}
